﻿var MAX_DUMP_DEPTH = 10;

function dumpObj(obj, name, indent, depth) {

    if (depth > MAX_DUMP_DEPTH) {

        return indent + name + ": <Maximum Depth Reached>\n";

    }

    if (typeof obj == "object") {

        var child = null;

        var output = indent + name + "\n";

        indent += "\t";

        for (var item in obj) {

            try {

                child = obj[item];

            } catch (e) {

                child = "<Unable to Evaluate>";

            }

            if (typeof child == "object") {

                output += dumpObj(child, item, indent, depth + 1);

            } else {

                output += indent + item + ": " + child + "\n";

            }

        }

        return output;

    } else {

        return obj;

    }

}

